home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Tool Chest / Development Tools & Languages / Macintosh Common Lisp Related / interfaces / PInterface Translator / PInterfaces / AIFF.p < prev    next >
Encoding:
Text File  |  1993-09-16  |  3.9 KB  |  208 lines  |  [TEXT/MPS ]

  1. {
  2. Created: Tuesday, February 5, 1991 at 4:32 PM
  3.     AIFF.p
  4.     Pascal Interface to the Macintosh Libraries
  5.  
  6.         Copyright Apple Computer, Inc. 1989-1990
  7.         All rights reserved
  8. }
  9.  
  10.  
  11. {$IFC UNDEFINED UsingIncludes}
  12. {$SETC UsingIncludes := 0}
  13. {$ENDC}
  14.  
  15. {$IFC NOT UsingIncludes}
  16.     UNIT AIFF;
  17.     INTERFACE
  18. {$ENDC}
  19.  
  20. {$IFC UNDEFINED UsingAIFF}
  21. {$SETC UsingAIFF := 1}
  22.  
  23. {$I+}
  24. {$SETC AIFFIncludes := UsingIncludes}
  25. {$SETC UsingIncludes := 1}
  26. {$IFC UNDEFINED UsingTypes}
  27. {$I $$Shell(PInterfaces)Types.p}
  28. {$ENDC}
  29. {$SETC UsingIncludes := AIFFIncludes}
  30.  
  31. CONST
  32. AIFFID = 'AIFF';
  33. AIFCID = 'AIFC';
  34. FormatVersionID = 'FVER';
  35. CommonID = 'COMM';
  36. FORMID = 'FORM';
  37. SoundDataID = 'SSND';
  38. MarkerID = 'MARK';
  39. InstrumentID = 'INST';
  40. MIDIDataID = 'MIDI';
  41. AudioRecordingID = 'AESD';
  42. ApplicationSpecificID = 'APPL';
  43. CommentID = 'COMT';
  44. NameID = 'NAME';
  45. AuthorID = 'AUTH';
  46. CopyrightID = '(c)    ';
  47. AnnotationID = 'ANNO';
  48. NoLooping = 0;
  49. ForwardLooping = 1;
  50. ForwardBackwardLooping = 2;
  51.  
  52. { AIFF-C Versions }
  53. AIFCVersion1 = $A2805140;
  54.  
  55. { Compression Types }
  56. NoneName = 'pnot compressed';
  57. ACE2to1Name = 'ACE 2-to-1';
  58. ACE8to3Name = 'ACE 8-to-3';
  59. MACE3to1Name = 'MACE 3-to-1';
  60. MACE6to1Name ='MACE 6-to-1';
  61.  
  62. { Compression Names }
  63. NoneType = 'NONE';
  64. ACE2Type = 'ACE2';
  65. ACE8Type = 'ACE8';
  66. MACE3Type = 'MAC3';
  67. MACE6Type = 'MAC6';
  68.  
  69. TYPE
  70. ID = LONGINT;
  71. MarkerIdType = INTEGER;
  72.  
  73. ChunkHeader = RECORD
  74.     ckID: ID;
  75.     ckSize: LONGINT;
  76.     END;
  77.  
  78. ContainerChunk = RECORD
  79.     ckID: ID;
  80.     ckSize: LONGINT;
  81.     formType: ID;
  82.     END;
  83.  
  84. FormatVersionChunkPtr = ^FormatVersionChunk;
  85. FormatVersionChunk = RECORD
  86.     ckID: ID;
  87.     ckSize: LONGINT;
  88.     timestamp: LONGINT;
  89.     END;
  90.  
  91. CommonChunkPtr = ^CommonChunk;
  92. CommonChunk = RECORD
  93.     ckID: ID;
  94.     ckSize: LONGINT;
  95.     numChannels: INTEGER;
  96.     numSampleFrames: LONGINT;
  97.     sampleSize: INTEGER;
  98.     sampleRate: extended;
  99.     END;
  100.  
  101. ExtCommonChunkPtr = ^ExtCommonChunk;
  102. ExtCommonChunk = RECORD
  103.     ckID: ID;
  104.     ckSize: LONGINT;
  105.     numChannels: INTEGER;
  106.     numSampleFrames: LONGINT;
  107.     sampleSize: INTEGER;
  108.     sampleRate: extended;
  109.     compressionType: ID;
  110.     compressionName: PACKED ARRAY [0..0] OF Byte;
  111.     END;
  112.  
  113. SoundDataChunkPtr = ^SoundDataChunk;
  114. SoundDataChunk = RECORD
  115.     ckID: ID;
  116.     ckSize: LONGINT;
  117.     offset: LONGINT;
  118.     blockSize: LONGINT;
  119.     END;
  120.  
  121. Marker = RECORD
  122.     id: MarkerIdType;
  123.     position: LONGINT;
  124.     markerName: Str255;
  125.     END;
  126.  
  127. MarkerChunkPtr = ^MarkerChunk;
  128. MarkerChunk = RECORD
  129.     ckID: ID;
  130.     ckSize: LONGINT;
  131.     numMarkers: INTEGER;
  132.     Markers: ARRAY [0..0] OF Marker;
  133.     END;
  134.  
  135. AIFFLoop = RECORD
  136.     playMode: INTEGER;
  137.     beginLoop: MarkerIdType;
  138.     endLoop: MarkerIdType;
  139.     END;
  140.  
  141. InstrumentChunkPtr = ^InstrumentChunk;
  142. InstrumentChunk = RECORD
  143.     ckID: ID;
  144.     ckSize: LONGINT;
  145.     baseFrequency: Byte;
  146.     detune: Byte;
  147.     lowFrequency: Byte;
  148.     highFrequency: Byte;
  149.     lowVelocity: Byte;
  150.     highVelocity: Byte;
  151.     gain: INTEGER;
  152.     sustainLoop: AIFFLoop;
  153.     releaseLoop: AIFFLoop;
  154.     END;
  155.  
  156. MIDIDataChunkPtr = ^MIDIDataChunk;
  157. MIDIDataChunk = RECORD
  158.     ckID: ID;
  159.     ckSize: LONGINT;
  160.     MIDIdata: ARRAY [0..0] OF SignedByte;
  161.     END;
  162.  
  163. AudioRecordingChunkPtr = ^AudioRecordingChunk;
  164. AudioRecordingChunk = RECORD
  165.     ckID: ID;
  166.     ckSize: LONGINT;
  167.     AESChannelStatus: ARRAY [0..23] OF SignedByte;
  168.     END;
  169.  
  170. ApplicationSpecificChunkPtr = ^ApplicationSpecificChunk;
  171. ApplicationSpecificChunk = RECORD
  172.     ckID: ID;
  173.     ckSize: LONGINT;
  174.     applicationSignature: OSType;
  175.     data: ARRAY [0..0] OF Byte;
  176.     END;
  177.  
  178. Comment = RECORD
  179.     timeStamp: LONGINT;
  180.     marker: MarkerIdType;
  181.     count: INTEGER;
  182.     text: ARRAY [0..0] OF Byte;
  183.     END;
  184.  
  185. CommentsChunkPtr = ^CommentsChunk;
  186. CommentsChunk = RECORD
  187.     ckID: ID;
  188.     ckSize: LONGINT;
  189.     numComments: INTEGER;
  190.     comments: ARRAY [0..0] OF Comment;
  191.     END;
  192.  
  193. TextChunkPtr = ^TextChunk;
  194. TextChunk = RECORD
  195.     ckID: ID;
  196.     ckSize: LONGINT;
  197.     text: ARRAY [0..0] OF Byte;
  198.     END;
  199.  
  200.  
  201.  
  202. {$ENDC}    { UsingAIFF }
  203.  
  204. {$IFC NOT UsingIncludes}
  205.     END.
  206. {$ENDC}
  207.  
  208.